'Weak Dependency Graph [60.0]'
------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, and(mark(X1), X2) -> mark(and(X1, X2))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, s(mark(X)) -> mark(s(X))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, s(ok(X)) -> ok(s(X))
, top(mark(X)) -> top(proper(X))
, top(ok(X)) -> top(active(X))}
Details:
We have computed the following set of weak (innermost) dependency pairs:
{ active^#(and(tt(), X)) -> c_0()
, active^#(plus(N, 0())) -> c_1()
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, active^#(s(X)) -> c_6(s^#(active(X)))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, s^#(mark(X)) -> c_10(s^#(X))
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, proper^#(tt()) -> c_12()
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, proper^#(0()) -> c_14()
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, top^#(mark(X)) -> c_19(top^#(proper(X)))
, top^#(ok(X)) -> c_20(top^#(active(X)))}
The usable rules are:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
The estimated dependency graph contains the following edges:
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
==> {s^#(ok(X)) -> c_18(s^#(X))}
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
==> {s^#(mark(X)) -> c_10(s^#(X))}
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
{active^#(s(X)) -> c_6(s^#(active(X)))}
==> {s^#(ok(X)) -> c_18(s^#(X))}
{active^#(s(X)) -> c_6(s^#(active(X)))}
==> {s^#(mark(X)) -> c_10(s^#(X))}
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
{plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
{plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
{plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
{plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
{plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
{plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
{s^#(mark(X)) -> c_10(s^#(X))}
==> {s^#(ok(X)) -> c_18(s^#(X))}
{s^#(mark(X)) -> c_10(s^#(X))}
==> {s^#(mark(X)) -> c_10(s^#(X))}
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
==> {s^#(ok(X)) -> c_18(s^#(X))}
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
==> {s^#(mark(X)) -> c_10(s^#(X))}
{and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
==> {and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
{and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
==> {and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
==> {plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
==> {plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
==> {plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
{s^#(ok(X)) -> c_18(s^#(X))}
==> {s^#(ok(X)) -> c_18(s^#(X))}
{s^#(ok(X)) -> c_18(s^#(X))}
==> {s^#(mark(X)) -> c_10(s^#(X))}
{top^#(mark(X)) -> c_19(top^#(proper(X)))}
==> {top^#(ok(X)) -> c_20(top^#(active(X)))}
{top^#(mark(X)) -> c_19(top^#(proper(X)))}
==> {top^#(mark(X)) -> c_19(top^#(proper(X)))}
{top^#(ok(X)) -> c_20(top^#(active(X)))}
==> {top^#(ok(X)) -> c_20(top^#(active(X)))}
{top^#(ok(X)) -> c_20(top^#(active(X)))}
==> {top^#(mark(X)) -> c_19(top^#(proper(X)))}
We consider the following path(s):
1) { top^#(mark(X)) -> c_19(top^#(proper(X)))
, top^#(ok(X)) -> c_20(top^#(active(X)))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, top^#(mark(X)) -> c_19(top^#(proper(X)))
, top^#(ok(X)) -> c_20(top^#(active(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [9]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_19(x1) = [1] x1 + [0]
c_20(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{top^#(ok(X)) -> c_20(top^#(active(X)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{top^#(ok(X)) -> c_20(top^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [5]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_19(x1) = [1] x1 + [0]
c_20(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ top^#(ok(X)) -> c_20(top^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [9]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [3]
ok(x1) = [1] x1 + [2]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [14]
c_19(x1) = [1] x1 + [2]
c_20(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(plus(N, 0())) -> mark(N)}
and weakly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, top^#(ok(X)) -> c_20(top^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(plus(N, 0())) -> mark(N)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [8]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [8]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [8]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_19(x1) = [1] x1 + [0]
c_20(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active(plus(N, 0())) -> mark(N)
, proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, top^#(ok(X)) -> c_20(top^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [6]
tt() = [2]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_19(x1) = [1] x1 + [0]
c_20(x1) = [1] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, top^#(ok(X)) -> c_20(top^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, top^#(ok(X)) -> c_20(top^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(mark(X)) -> c_19(top^#(proper(X)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ active_0(3) -> 37
, active_0(4) -> 37
, active_0(6) -> 37
, active_0(9) -> 37
, tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, proper_0(3) -> 39
, proper_0(4) -> 39
, proper_0(6) -> 39
, proper_0(9) -> 39
, ok_0(3) -> 9
, ok_0(3) -> 39
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(6) -> 39
, ok_0(9) -> 9
, top^#_0(3) -> 35
, top^#_0(4) -> 35
, top^#_0(6) -> 35
, top^#_0(9) -> 35
, top^#_0(37) -> 36
, top^#_0(39) -> 38
, c_19_0(38) -> 35
, c_20_0(36) -> 35
, c_20_0(36) -> 38}
2) { active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [3]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [1]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
and weakly orienting the rules
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [8]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{ active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [2]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [3]
plus^#(x1, x2) = [1] x1 + [1] x2 + [4]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [4]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [3]
plus^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [11]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [1]
plus^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, ok_0(2) -> 2
, active^#_0(2) -> 1
, plus^#_0(2, 2) -> 1
, c_8_0(1) -> 1
, c_9_0(1) -> 1
, c_17_0(1) -> 1}
3) { active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [3]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [1]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
and weakly orienting the rules
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [8]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{ active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [2]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [4]
c_5(x1) = [1] x1 + [3]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [4]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_5(x1) = [1] x1 + [3]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [11]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_5(x1) = [1] x1 + [1]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, ok_0(2) -> 2
, active^#_0(2) -> 1
, plus^#_0(2, 2) -> 1
, c_8_0(1) -> 1
, c_9_0(1) -> 1
, c_17_0(1) -> 1}
4) { proper^#(plus(X1, X2)) ->
c_13(plus^#(proper(X1), proper(X2)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
The usable rules for this path are the following:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [1]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [1]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [1]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [1]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
and weakly orienting the rules
{ proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [8]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [4]
c_9(x1) = [1] x1 + [8]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [2]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [1]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
and weakly orienting the rules
{ plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [8]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [0]
c_9(x1) = [1] x1 + [2]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [15]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [8]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [1] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [2]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [1] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, plus^#(X1, mark(X2)) -> c_9(plus^#(X1, X2))
, plus^#(mark(X1), X2) -> c_8(plus^#(X1, X2))
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, plus^#(ok(X1), ok(X2)) -> c_17(plus^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, plus^#_0(3, 3) -> 19
, plus^#_0(3, 4) -> 19
, plus^#_0(3, 6) -> 19
, plus^#_0(3, 9) -> 19
, plus^#_0(4, 3) -> 19
, plus^#_0(4, 4) -> 19
, plus^#_0(4, 6) -> 19
, plus^#_0(4, 9) -> 19
, plus^#_0(6, 3) -> 19
, plus^#_0(6, 4) -> 19
, plus^#_0(6, 6) -> 19
, plus^#_0(6, 9) -> 19
, plus^#_0(9, 3) -> 19
, plus^#_0(9, 4) -> 19
, plus^#_0(9, 6) -> 19
, plus^#_0(9, 9) -> 19
, c_8_0(19) -> 19
, c_9_0(19) -> 19
, proper^#_0(3) -> 26
, proper^#_0(4) -> 26
, proper^#_0(6) -> 26
, proper^#_0(9) -> 26
, c_17_0(19) -> 19}
5) { active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
and weakly orienting the rules
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [1]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [1]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [1]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [5]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [5]
and^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, active^#_0(3) -> 11
, active^#_0(4) -> 11
, active^#_0(6) -> 11
, active^#_0(9) -> 11
, and^#_0(3, 3) -> 17
, and^#_0(3, 4) -> 17
, and^#_0(3, 6) -> 17
, and^#_0(3, 9) -> 17
, and^#_0(4, 3) -> 17
, and^#_0(4, 4) -> 17
, and^#_0(4, 6) -> 17
, and^#_0(4, 9) -> 17
, and^#_0(6, 3) -> 17
, and^#_0(6, 4) -> 17
, and^#_0(6, 6) -> 17
, and^#_0(6, 9) -> 17
, and^#_0(9, 3) -> 17
, and^#_0(9, 4) -> 17
, and^#_0(9, 6) -> 17
, and^#_0(9, 9) -> 17
, c_7_0(17) -> 17
, c_16_0(17) -> 17}
6) { active^#(s(X)) -> c_6(s^#(active(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, s^#(mark(X)) -> c_10(s^#(X))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(s(X)) -> c_6(s^#(active(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, s^#(mark(X)) -> c_10(s^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{s^#(mark(X)) -> c_10(s^#(X))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(mark(X)) -> c_10(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [9]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [3]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(s(X)) -> c_6(s^#(active(X)))}
and weakly orienting the rules
{s^#(mark(X)) -> c_10(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(s(X)) -> c_6(s^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [1]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [1]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))}
and weakly orienting the rules
{ active^#(s(X)) -> c_6(s^#(active(X)))
, s^#(mark(X)) -> c_10(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [1]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, active^#(s(X)) -> c_6(s^#(active(X)))
, s^#(mark(X)) -> c_10(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [4]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, active^#(s(X)) -> c_6(s^#(active(X)))
, s^#(mark(X)) -> c_10(s^#(X))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, active^#(s(X)) -> c_6(s^#(active(X)))
, s^#(mark(X)) -> c_10(s^#(X))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, active^#_0(3) -> 11
, active^#_0(4) -> 11
, active^#_0(6) -> 11
, active^#_0(9) -> 11
, s^#_0(3) -> 15
, s^#_0(4) -> 15
, s^#_0(6) -> 15
, s^#_0(9) -> 15
, c_10_0(15) -> 15
, c_18_0(15) -> 15}
7) { proper^#(s(X)) -> c_15(s^#(proper(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, s^#(mark(X)) -> c_10(s^#(X))}
The usable rules for this path are the following:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, s^#(mark(X)) -> c_10(s^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(ok(X)) -> c_18(s^#(X))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(ok(X)) -> c_18(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
and weakly orienting the rules
{ s^#(ok(X)) -> c_18(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(mark(X)) -> c_10(s^#(X))}
and weakly orienting the rules
{ proper^#(s(X)) -> c_15(s^#(proper(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(mark(X)) -> c_10(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [8]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [7]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ s^#(mark(X)) -> c_10(s^#(X))
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [2]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [14]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
proper^#(x1) = [1] x1 + [15]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, s^#(mark(X)) -> c_10(s^#(X))
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, s^#(mark(X)) -> c_10(s^#(X))
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, s^#(ok(X)) -> c_18(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, s^#_0(3) -> 15
, s^#_0(4) -> 15
, s^#_0(6) -> 15
, s^#_0(9) -> 15
, c_10_0(15) -> 15
, proper^#_0(3) -> 26
, proper^#_0(4) -> 26
, proper^#_0(6) -> 26
, proper^#_0(9) -> 26
, c_18_0(15) -> 15}
8) { proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
The usable rules for this path are the following:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [1]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [1] x1 + [1]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [8]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [1] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
and weakly orienting the rules
{ proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{and^#(mark(X1), X2) -> c_7(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [8]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [1] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ and^#(mark(X1), X2) -> c_7(and^#(X1, X2))
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [8]
tt() = [4]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [5]
c_11(x1) = [1] x1 + [1]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, and^#(mark(X1), X2) -> c_7(and^#(X1, X2))
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_16(and^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, and^#_0(3, 3) -> 17
, and^#_0(3, 4) -> 17
, and^#_0(3, 6) -> 17
, and^#_0(3, 9) -> 17
, and^#_0(4, 3) -> 17
, and^#_0(4, 4) -> 17
, and^#_0(4, 6) -> 17
, and^#_0(4, 9) -> 17
, and^#_0(6, 3) -> 17
, and^#_0(6, 4) -> 17
, and^#_0(6, 6) -> 17
, and^#_0(6, 9) -> 17
, and^#_0(9, 3) -> 17
, and^#_0(9, 4) -> 17
, and^#_0(9, 6) -> 17
, and^#_0(9, 9) -> 17
, c_7_0(17) -> 17
, proper^#_0(3) -> 26
, proper^#_0(4) -> 26
, proper^#_0(6) -> 26
, proper^#_0(9) -> 26
, c_16_0(17) -> 17}
9) {active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [3]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [12]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [5]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [1] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_4(plus^#(active(X1), X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, active^#_0(3) -> 11
, active^#_0(4) -> 11
, active^#_0(6) -> 11
, active^#_0(9) -> 11
, plus^#_0(3, 3) -> 19
, plus^#_0(3, 4) -> 19
, plus^#_0(3, 6) -> 19
, plus^#_0(3, 9) -> 19
, plus^#_0(4, 3) -> 19
, plus^#_0(4, 4) -> 19
, plus^#_0(4, 6) -> 19
, plus^#_0(4, 9) -> 19
, plus^#_0(6, 3) -> 19
, plus^#_0(6, 4) -> 19
, plus^#_0(6, 6) -> 19
, plus^#_0(6, 9) -> 19
, plus^#_0(9, 3) -> 19
, plus^#_0(9, 4) -> 19
, plus^#_0(9, 6) -> 19
, plus^#_0(9, 9) -> 19}
10)
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [6]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [8]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [12]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [1] x1 + [1]
and^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(and(X1, X2)) -> c_3(and^#(active(X1), X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, active^#_0(3) -> 11
, active^#_0(4) -> 11
, active^#_0(6) -> 11
, active^#_0(9) -> 11
, and^#_0(3, 3) -> 17
, and^#_0(3, 4) -> 17
, and^#_0(3, 6) -> 17
, and^#_0(3, 9) -> 17
, and^#_0(4, 3) -> 17
, and^#_0(4, 4) -> 17
, and^#_0(4, 6) -> 17
, and^#_0(4, 9) -> 17
, and^#_0(6, 3) -> 17
, and^#_0(6, 4) -> 17
, and^#_0(6, 6) -> 17
, and^#_0(6, 9) -> 17
, and^#_0(9, 3) -> 17
, and^#_0(9, 4) -> 17
, and^#_0(9, 6) -> 17
, and^#_0(9, 9) -> 17}
11)
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [3]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [12]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [5]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(plus(X1, X2)) -> c_5(plus^#(X1, active(X2)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, active^#_0(3) -> 11
, active^#_0(4) -> 11
, active^#_0(6) -> 11
, active^#_0(9) -> 11
, plus^#_0(3, 3) -> 19
, plus^#_0(3, 4) -> 19
, plus^#_0(3, 6) -> 19
, plus^#_0(3, 9) -> 19
, plus^#_0(4, 3) -> 19
, plus^#_0(4, 4) -> 19
, plus^#_0(4, 6) -> 19
, plus^#_0(4, 9) -> 19
, plus^#_0(6, 3) -> 19
, plus^#_0(6, 4) -> 19
, plus^#_0(6, 6) -> 19
, plus^#_0(6, 9) -> 19
, plus^#_0(9, 3) -> 19
, plus^#_0(9, 4) -> 19
, plus^#_0(9, 6) -> 19
, plus^#_0(9, 9) -> 19}
12)
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
The usable rules for this path are the following:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [1]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [2]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [1]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [15]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [11]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [1] x1 + [8]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, proper^#(plus(X1, X2)) -> c_13(plus^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, plus^#_0(3, 3) -> 19
, plus^#_0(3, 4) -> 19
, plus^#_0(3, 6) -> 19
, plus^#_0(3, 9) -> 19
, plus^#_0(4, 3) -> 19
, plus^#_0(4, 4) -> 19
, plus^#_0(4, 6) -> 19
, plus^#_0(4, 9) -> 19
, plus^#_0(6, 3) -> 19
, plus^#_0(6, 4) -> 19
, plus^#_0(6, 6) -> 19
, plus^#_0(6, 9) -> 19
, plus^#_0(9, 3) -> 19
, plus^#_0(9, 4) -> 19
, plus^#_0(9, 6) -> 19
, plus^#_0(9, 9) -> 19
, proper^#_0(3) -> 26
, proper^#_0(4) -> 26
, proper^#_0(6) -> 26
, proper^#_0(9) -> 26}
13)
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
The usable rules for this path are the following:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [1] x1 + [1]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [2]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [1] x1 + [1]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [15]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [11]
c_11(x1) = [1] x1 + [8]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, proper^#(and(X1, X2)) -> c_11(and^#(proper(X1), proper(X2)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, and^#_0(3, 3) -> 17
, and^#_0(3, 4) -> 17
, and^#_0(3, 6) -> 17
, and^#_0(3, 9) -> 17
, and^#_0(4, 3) -> 17
, and^#_0(4, 4) -> 17
, and^#_0(4, 6) -> 17
, and^#_0(4, 9) -> 17
, and^#_0(6, 3) -> 17
, and^#_0(6, 4) -> 17
, and^#_0(6, 6) -> 17
, and^#_0(6, 9) -> 17
, and^#_0(9, 3) -> 17
, and^#_0(9, 4) -> 17
, and^#_0(9, 6) -> 17
, and^#_0(9, 9) -> 17
, proper^#_0(3) -> 26
, proper^#_0(4) -> 26
, proper^#_0(6) -> 26
, proper^#_0(9) -> 26}
14)
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
The usable rules for this path are the following:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(s(X)) -> c_15(s^#(proper(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(s(X)) -> c_15(s^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
and weakly orienting the rules
{ proper^#(s(X)) -> c_15(s^#(proper(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [8]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [8]
s(x1) = [1] x1 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [13]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [1] x1 + [8]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(plus(X1, X2)) -> plus(proper(X1), proper(X2))
, proper(s(X)) -> s(proper(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(tt()) -> ok(tt())
, proper(0()) -> ok(0())
, proper^#(s(X)) -> c_15(s^#(proper(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, s^#_0(3) -> 15
, s^#_0(4) -> 15
, s^#_0(6) -> 15
, s^#_0(9) -> 15
, proper^#_0(3) -> 26
, proper^#_0(4) -> 26
, proper^#_0(6) -> 26
, proper^#_0(9) -> 26}
15)
{active^#(s(X)) -> c_6(s^#(active(X)))}
The usable rules for this path are the following:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(s(X)) -> c_6(s^#(active(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [1]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [3]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active^#(s(X)) -> c_6(s^#(active(X)))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active^#(s(X)) -> c_6(s^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [1] x1 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [1]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [1]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active^#(s(X)) -> c_6(s^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(and(X1, X2)) -> and(active(X1), X2)
, active(plus(X1, X2)) -> plus(active(X1), X2)
, active(plus(X1, X2)) -> plus(X1, active(X2))
, active(s(X)) -> s(active(X))
, plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(and(tt(), X)) -> mark(X)
, active(plus(N, 0())) -> mark(N)
, active(plus(N, s(M))) -> mark(s(plus(N, M)))
, active^#(s(X)) -> c_6(s^#(active(X)))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ tt_0() -> 3
, mark_0(3) -> 4
, mark_0(4) -> 4
, mark_0(6) -> 4
, mark_0(9) -> 4
, 0_0() -> 6
, ok_0(3) -> 9
, ok_0(4) -> 9
, ok_0(6) -> 9
, ok_0(9) -> 9
, active^#_0(3) -> 11
, active^#_0(4) -> 11
, active^#_0(6) -> 11
, active^#_0(9) -> 11
, s^#_0(3) -> 15
, s^#_0(4) -> 15
, s^#_0(6) -> 15
, s^#_0(9) -> 15}
16)
{ active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))
, s^#(ok(X)) -> c_18(s^#(X))
, s^#(mark(X)) -> c_10(s^#(X))}
The usable rules for this path are the following:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))
, s^#(ok(X)) -> c_18(s^#(X))
, s^#(mark(X)) -> c_10(s^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [1]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [11]
c_0() = [0]
c_1() = [0]
c_2(x1) = [1] x1 + [0]
s^#(x1) = [1] x1 + [4]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [2]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))}
and weakly orienting the rules
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [1]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [12]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [4]
c_0() = [0]
c_1() = [0]
c_2(x1) = [1] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [8]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(mark(X)) -> c_10(s^#(X))}
and weakly orienting the rules
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(mark(X)) -> c_10(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [8]
plus(x1, x2) = [1] x1 + [1] x2 + [1]
0() = [0]
s(x1) = [1] x1 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0() = [0]
c_1() = [0]
c_2(x1) = [1] x1 + [2]
s^#(x1) = [1] x1 + [8]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))}
Weak Rules:
{ s^#(mark(X)) -> c_10(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))}
Weak Rules:
{ s^#(mark(X)) -> c_10(s^#(X))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, s^#(ok(X)) -> c_18(s^#(X))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ mark_0(4) -> 4
, mark_0(9) -> 4
, ok_0(4) -> 9
, ok_0(9) -> 9
, active^#_0(4) -> 11
, active^#_0(9) -> 11
, s^#_0(4) -> 15
, s^#_0(9) -> 15
, c_10_0(15) -> 15
, c_18_0(15) -> 15}
17)
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
The usable rules for this path are the following:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))
, plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [1]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [10]
c_0() = [0]
c_1() = [0]
c_2(x1) = [1] x1 + [4]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))}
and weakly orienting the rules
{active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [1] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [1]
0() = [0]
s(x1) = [1] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0() = [0]
c_1() = [0]
c_2(x1) = [1] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))}
Weak Rules:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ plus(mark(X1), X2) -> mark(plus(X1, X2))
, plus(X1, mark(X2)) -> mark(plus(X1, X2))}
Weak Rules:
{ plus(ok(X1), ok(X2)) -> ok(plus(X1, X2))
, active^#(plus(N, s(M))) -> c_2(s^#(plus(N, M)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ mark_0(4) -> 4
, mark_0(9) -> 4
, ok_0(4) -> 9
, ok_0(9) -> 9
, active^#_0(4) -> 11
, active^#_0(9) -> 11
, s^#_0(4) -> 15
, s^#_0(9) -> 15}
18)
{active^#(and(tt(), X)) -> c_0()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {active^#(and(tt(), X)) -> c_0()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(and(tt(), X)) -> c_0()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(and(tt(), X)) -> c_0()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {active^#(and(tt(), X)) -> c_0()}
Details:
The given problem does not contain any strict rules
19)
{active^#(plus(N, 0())) -> c_1()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {active^#(plus(N, 0())) -> c_1()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(plus(N, 0())) -> c_1()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(plus(N, 0())) -> c_1()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {active^#(plus(N, 0())) -> c_1()}
Details:
The given problem does not contain any strict rules
20)
{proper^#(0()) -> c_14()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {proper^#(0()) -> c_14()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{proper^#(0()) -> c_14()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(0()) -> c_14()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {proper^#(0()) -> c_14()}
Details:
The given problem does not contain any strict rules
21)
{proper^#(tt()) -> c_12()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {proper^#(tt()) -> c_12()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{proper^#(tt()) -> c_12()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(tt()) -> c_12()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
mark(x1) = [0] x1 + [0]
plus(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
s(x1) = [0] x1 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0() = [0]
c_1() = [0]
c_2(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_3(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_4(x1) = [0] x1 + [0]
plus^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
c_8(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_11(x1) = [0] x1 + [0]
c_12() = [0]
c_13(x1) = [0] x1 + [0]
c_14() = [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
c_18(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_19(x1) = [0] x1 + [0]
c_20(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {proper^#(tt()) -> c_12()}
Details:
The given problem does not contain any strict rules